Add gdk_window_lookup, gdk_window_foreign_new, gdk_pixmap_lookup and
authorMatthias Clasen <matthiasc@src.gnome.org>
Thu, 18 Oct 2001 20:23:17 +0000 (20:23 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Thu, 18 Oct 2001 20:23:17 +0000 (20:23 +0000)
        * gdk/gdkwindow.h, gdk/gdkpixmap.h, gdk/x11/gdkx.h,
        gdk/x11/gdkwindow-x11.c, gdk/x11/gdkpixmap-x11.c,
        gdk/win32/gdkwin32.h, gdk/win32/gdkwindow-win32.c,
        gdk/win32/gdkpixmap-win32.c, gdk/linux-fb/gdkfb.h,
        gdk/linux-fb/gdkwindow-fb.c, gdk/linux-fb/gdkpixmap-fb.c:
        Add gdk_window_lookup, gdk_window_foreign_new, gdk_pixmap_lookup
        and gkd_pixmap_foreign_new to the gdk frontend api. (#62063)

        * gtk/gtkselection.c: Remove gdk backend dependencies. (#62063)

19 files changed:
ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gdk/gdkpixmap.h
gdk/gdkwindow.h
gdk/linux-fb/gdkfb.h
gdk/linux-fb/gdkpixmap-fb.c
gdk/linux-fb/gdkwindow-fb.c
gdk/win32/gdkpixmap-win32.c
gdk/win32/gdkwin32.h
gdk/win32/gdkwindow-win32.c
gdk/x11/gdkpixmap-x11.c
gdk/x11/gdkwindow-x11.c
gdk/x11/gdkx.h
gtk/gtkselection.c

index fe7ce6518759539658f9e2c2da8a1d978b4e93f7..ee47432a51cccd408762a3f2376396f90c7ae00f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2001-10-18  Matthias Clasen  <matthiasc@poet.de>
 
+        * gdk/gdkwindow.h, gdk/gdkpixmap.h, gdk/x11/gdkx.h,
+        gdk/x11/gdkwindow-x11.c, gdk/x11/gdkpixmap-x11.c,
+        gdk/win32/gdkwin32.h, gdk/win32/gdkwindow-win32.c,
+        gdk/win32/gdkpixmap-win32.c, gdk/linux-fb/gdkfb.h,
+        gdk/linux-fb/gdkwindow-fb.c, gdk/linux-fb/gdkpixmap-fb.c:
+        Add gdk_window_lookup, gdk_window_foreign_new, gdk_pixmap_lookup
+        and gkd_pixmap_foreign_new to the gdk frontend api. (#62063)
+
+        * gtk/gtkselection.c: Remove gdk backend dependencies. (#62063)
+
        * gtk/gtkspinbutton.c (gtk_spin_button_size_request): 
        Don't restrict the width of the spinbutton entry field 
        to 10 digits. (#58681)
index fe7ce6518759539658f9e2c2da8a1d978b4e93f7..ee47432a51cccd408762a3f2376396f90c7ae00f 100644 (file)
@@ -1,5 +1,15 @@
 2001-10-18  Matthias Clasen  <matthiasc@poet.de>
 
+        * gdk/gdkwindow.h, gdk/gdkpixmap.h, gdk/x11/gdkx.h,
+        gdk/x11/gdkwindow-x11.c, gdk/x11/gdkpixmap-x11.c,
+        gdk/win32/gdkwin32.h, gdk/win32/gdkwindow-win32.c,
+        gdk/win32/gdkpixmap-win32.c, gdk/linux-fb/gdkfb.h,
+        gdk/linux-fb/gdkwindow-fb.c, gdk/linux-fb/gdkpixmap-fb.c:
+        Add gdk_window_lookup, gdk_window_foreign_new, gdk_pixmap_lookup
+        and gkd_pixmap_foreign_new to the gdk frontend api. (#62063)
+
+        * gtk/gtkselection.c: Remove gdk backend dependencies. (#62063)
+
        * gtk/gtkspinbutton.c (gtk_spin_button_size_request): 
        Don't restrict the width of the spinbutton entry field 
        to 10 digits. (#58681)
index fe7ce6518759539658f9e2c2da8a1d978b4e93f7..ee47432a51cccd408762a3f2376396f90c7ae00f 100644 (file)
@@ -1,5 +1,15 @@
 2001-10-18  Matthias Clasen  <matthiasc@poet.de>
 
+        * gdk/gdkwindow.h, gdk/gdkpixmap.h, gdk/x11/gdkx.h,
+        gdk/x11/gdkwindow-x11.c, gdk/x11/gdkpixmap-x11.c,
+        gdk/win32/gdkwin32.h, gdk/win32/gdkwindow-win32.c,
+        gdk/win32/gdkpixmap-win32.c, gdk/linux-fb/gdkfb.h,
+        gdk/linux-fb/gdkwindow-fb.c, gdk/linux-fb/gdkpixmap-fb.c:
+        Add gdk_window_lookup, gdk_window_foreign_new, gdk_pixmap_lookup
+        and gkd_pixmap_foreign_new to the gdk frontend api. (#62063)
+
+        * gtk/gtkselection.c: Remove gdk backend dependencies. (#62063)
+
        * gtk/gtkspinbutton.c (gtk_spin_button_size_request): 
        Don't restrict the width of the spinbutton entry field 
        to 10 digits. (#58681)
index fe7ce6518759539658f9e2c2da8a1d978b4e93f7..ee47432a51cccd408762a3f2376396f90c7ae00f 100644 (file)
@@ -1,5 +1,15 @@
 2001-10-18  Matthias Clasen  <matthiasc@poet.de>
 
+        * gdk/gdkwindow.h, gdk/gdkpixmap.h, gdk/x11/gdkx.h,
+        gdk/x11/gdkwindow-x11.c, gdk/x11/gdkpixmap-x11.c,
+        gdk/win32/gdkwin32.h, gdk/win32/gdkwindow-win32.c,
+        gdk/win32/gdkpixmap-win32.c, gdk/linux-fb/gdkfb.h,
+        gdk/linux-fb/gdkwindow-fb.c, gdk/linux-fb/gdkpixmap-fb.c:
+        Add gdk_window_lookup, gdk_window_foreign_new, gdk_pixmap_lookup
+        and gkd_pixmap_foreign_new to the gdk frontend api. (#62063)
+
+        * gtk/gtkselection.c: Remove gdk backend dependencies. (#62063)
+
        * gtk/gtkspinbutton.c (gtk_spin_button_size_request): 
        Don't restrict the width of the spinbutton entry field 
        to 10 digits. (#58681)
index fe7ce6518759539658f9e2c2da8a1d978b4e93f7..ee47432a51cccd408762a3f2376396f90c7ae00f 100644 (file)
@@ -1,5 +1,15 @@
 2001-10-18  Matthias Clasen  <matthiasc@poet.de>
 
+        * gdk/gdkwindow.h, gdk/gdkpixmap.h, gdk/x11/gdkx.h,
+        gdk/x11/gdkwindow-x11.c, gdk/x11/gdkpixmap-x11.c,
+        gdk/win32/gdkwin32.h, gdk/win32/gdkwindow-win32.c,
+        gdk/win32/gdkpixmap-win32.c, gdk/linux-fb/gdkfb.h,
+        gdk/linux-fb/gdkwindow-fb.c, gdk/linux-fb/gdkpixmap-fb.c:
+        Add gdk_window_lookup, gdk_window_foreign_new, gdk_pixmap_lookup
+        and gkd_pixmap_foreign_new to the gdk frontend api. (#62063)
+
+        * gtk/gtkselection.c: Remove gdk backend dependencies. (#62063)
+
        * gtk/gtkspinbutton.c (gtk_spin_button_size_request): 
        Don't restrict the width of the spinbutton entry field 
        to 10 digits. (#58681)
index fe7ce6518759539658f9e2c2da8a1d978b4e93f7..ee47432a51cccd408762a3f2376396f90c7ae00f 100644 (file)
@@ -1,5 +1,15 @@
 2001-10-18  Matthias Clasen  <matthiasc@poet.de>
 
+        * gdk/gdkwindow.h, gdk/gdkpixmap.h, gdk/x11/gdkx.h,
+        gdk/x11/gdkwindow-x11.c, gdk/x11/gdkpixmap-x11.c,
+        gdk/win32/gdkwin32.h, gdk/win32/gdkwindow-win32.c,
+        gdk/win32/gdkpixmap-win32.c, gdk/linux-fb/gdkfb.h,
+        gdk/linux-fb/gdkwindow-fb.c, gdk/linux-fb/gdkpixmap-fb.c:
+        Add gdk_window_lookup, gdk_window_foreign_new, gdk_pixmap_lookup
+        and gkd_pixmap_foreign_new to the gdk frontend api. (#62063)
+
+        * gtk/gtkselection.c: Remove gdk backend dependencies. (#62063)
+
        * gtk/gtkspinbutton.c (gtk_spin_button_size_request): 
        Don't restrict the width of the spinbutton entry field 
        to 10 digits. (#58681)
index fe7ce6518759539658f9e2c2da8a1d978b4e93f7..ee47432a51cccd408762a3f2376396f90c7ae00f 100644 (file)
@@ -1,5 +1,15 @@
 2001-10-18  Matthias Clasen  <matthiasc@poet.de>
 
+        * gdk/gdkwindow.h, gdk/gdkpixmap.h, gdk/x11/gdkx.h,
+        gdk/x11/gdkwindow-x11.c, gdk/x11/gdkpixmap-x11.c,
+        gdk/win32/gdkwin32.h, gdk/win32/gdkwindow-win32.c,
+        gdk/win32/gdkpixmap-win32.c, gdk/linux-fb/gdkfb.h,
+        gdk/linux-fb/gdkwindow-fb.c, gdk/linux-fb/gdkpixmap-fb.c:
+        Add gdk_window_lookup, gdk_window_foreign_new, gdk_pixmap_lookup
+        and gkd_pixmap_foreign_new to the gdk frontend api. (#62063)
+
+        * gtk/gtkselection.c: Remove gdk backend dependencies. (#62063)
+
        * gtk/gtkspinbutton.c (gtk_spin_button_size_request): 
        Don't restrict the width of the spinbutton entry field 
        to 10 digits. (#58681)
index e02aa634d275374957c1f4c869e36811cf66bcb4..b7e0a930b44c80c8843d3df2a433dbda137e64c1 100644 (file)
@@ -73,6 +73,10 @@ GdkPixmap* gdk_pixmap_colormap_create_from_xpm_d (GdkWindow    *window,
                                                  GdkColor     *transparent_color,
                                                  gchar       **data);
 
+/* Functions to create/lookup pixmaps from their native equivalents */
+GdkPixmap*    gdk_pixmap_foreign_new (GdkNativeWindow anid);
+GdkPixmap*    gdk_pixmap_lookup      (GdkNativeWindow anid);
+
 #ifndef GDK_DISABLE_DEPRECATED
 #define gdk_bitmap_ref                 gdk_drawable_ref
 #define gdk_bitmap_unref               gdk_drawable_unref
index ab4da23d1e955e592324329ef2800d881907c1bd..e4d0138fd37b0073140bfd4358fe3843ca6cdf7b 100644 (file)
@@ -371,6 +371,11 @@ GdkWindowState gdk_window_get_state (GdkWindow *window);
 gboolean gdk_window_set_static_gravities (GdkWindow *window,
                                          gboolean   use_static);   
 
+/* Functions to create/lookup windows from their native equivalents */ 
+GdkWindow*    gdk_window_foreign_new (GdkNativeWindow anid);
+GdkWindow*    gdk_window_lookup      (GdkNativeWindow anid);
+
+
 /* GdkWindow */
 
 #ifndef GDK_DISABLE_DEPRECATED
index 61305b38d07d707e3e33151936461acd7ab0d5b6..fb433b84e7dee1b308939ccbf74c4bacb9a446b9 100644 (file)
@@ -12,10 +12,7 @@ extern GdkFBDisplay *gdk_display;
 #define GDK_ROOT_WINDOW()             gdk_root_window
 #define GDK_DISPLAY()                 gdk_display
 
-#define gdk_window_foreign_new(xid) gdk_window_ref(xid)
-#define gdk_window_lookup(xid)    ((GdkWindow*) (xid))
-#define gdk_pixmap_lookup(xid)    ((GdkPixmap*) (xid))
-#define gdk_font_lookup(xid)      ((GdkFont*) (xid))
+#define gdk_font_lookup(xid)       ((GdkFont*) (xid))
 
 typedef enum {
   GDK_FB_0_DEGREES,
index f18d7005c1f23964a58036ff272cbabb01843d8d..b4499c3f60ac9cb5cba312187f23baa2b3ee1fe6 100644 (file)
@@ -199,3 +199,16 @@ gdk_pixmap_create_from_data (GdkWindow   *window,
 
   return pixmap;
 }
+
+GdkPixmap*
+gdk_pixmap_foreign_new (GdkNativeWindow anid)
+{
+  return (GdkPixmap*) gdk_drawable_ref (anid);
+}
+
+GdkPixmap*
+gdk_pixmap_lookup (GdkNativeWindow anid)
+{
+  return (GdkPixmap*) (anid);
+}
+
index a5a997d7ee21c4f16e1ce231bc7781fef601ef22..ce4a9c0095063e54bf09c10d68c7016d194d2047 100644 (file)
@@ -2229,3 +2229,16 @@ gdk_window_get_frame_extents (GdkWindow    *window,
 
   return TRUE;
 }
+
+GdkWindow*
+gdk_window_foreign_new (GdkNativeWindow anid)
+{
+  return (GdkWindow*) gdk_drawable_ref (anid);
+}
+
+GdkWindow*
+gdk_window_lookup (GdkNativeWindow anid)
+{
+  return (GdkWindow*) (anid);
+}
+
index c6b203b2ec49100ffbab0797561ce7cc14961ab0..f5e14486b02c7c50c71bd031d517afa873e5ffa2 100644 (file)
@@ -443,3 +443,9 @@ gdk_pixmap_foreign_new (GdkNativeWindow anid)
 
   return pixmap;
 }
+
+GdkWindow*
+gdk_window_lookup (GdkNativeWindow hbm)
+{
+  return (GdkPixmap*) gdk_win32_handle_table_lookup (hbm);
+}
index fc5af0b770bf4862706e131450c58ed60645a9be..7e8cb20b151d1ed1342ec1e4a12f36d737d19c9b 100644 (file)
@@ -361,19 +361,12 @@ GType gdk_gc_win32_get_type (void);
 #define GDK_ROOT_WINDOW()             ((guint32) HWND_DESKTOP)
 #define GDK_DISPLAY()                 NULL
 
-/* Functions to create GDK pixmaps and windows from their native equivalents */
-GdkPixmap    *gdk_pixmap_foreign_new (GdkNativeWindow anid);
-GdkWindow    *gdk_window_foreign_new (GdkNativeWindow anid);
-
 /* Return the Gdk* for a particular HANDLE */
 gpointer      gdk_win32_handle_table_lookup (GdkNativeWindow handle);
 
 /* Translate from drawable to windows handle */
 HWND          gdk_win32_drawable_get_handle (GdkDrawable *drawable);
 
-#define gdk_window_lookup(hwnd) (GdkWindow*) gdk_win32_handle_table_lookup (hwnd)
-#define gdk_pixmap_lookup(hbm) (GdkPixmap*) gdk_win32_handle_table_lookup (hbm)
-
 /* Return a device context to draw in a drawable, given a GDK GC,
  * and a mask indicating which GC values might be used (for efficiency,
  * no need to muck around with text-related stuff if we aren't going
index aeaea1e0a832daa998291c99dfcc694b19fc6835..0eef880b8a303813ef427f5535143493cabfeaed 100644 (file)
@@ -738,6 +738,12 @@ gdk_window_foreign_new (GdkNativeWindow anid)
   return window;
 }
 
+GdkWindow*
+gdk_window_lookup (GdkNativeWindow hwnd)
+{
+  return (GdkWindow*) gdk_win32_handle_table_lookup (hwnd); 
+}
+
 void
 _gdk_windowing_window_destroy (GdkWindow *window,
                               gboolean   recursing,
index a231a0e790c70c7fd7f259f57bd75344448227fd..80b40fdf5aabd1544cfdb0b8b0c160af8ec46be8 100644 (file)
@@ -286,13 +286,16 @@ gdk_pixmap_create_from_data (GdkWindow   *window,
 
 /**
  * gdk_pixmap_foreign_new:
- * @anid: an X window ID for a pixmap
+ * @anid: a native pixmap handle.
  * 
- * Creates a #GdkPixmap for the Xlib pixmap ID @anid.
- * If the Xlib pixmap is destroyed while creating
- * the #GdkPixmap, this function returns %NULL.
- * 
- * Return value: a new #GdkPixmap
+ * Wraps a native window in a #GdkPixmap.
+ * This may fail if the pixmap has been destroyed.
+ *
+ * For example in the X backend, a native pixmap handle is an Xlib
+ * <type>XID</type>.
+ *
+ * Return value: the newly-created #GdkPixmap wrapper for the 
+ *    native pixmap or %NULL if the pixmap has been destroyed.
  **/
 GdkPixmap*
 gdk_pixmap_foreign_new (GdkNativeWindow anid)
@@ -336,3 +339,21 @@ gdk_pixmap_foreign_new (GdkNativeWindow anid)
 
   return pixmap;
 }
+
+/**
+ * gdk_pixmap_lookup:
+ * @anid: a native pixmap handle.
+ * 
+ * Looks up the #GdkPixmap that wraps the given native pixmap handle.
+ *
+ * For example in the X backend, a native pixmap handle is an Xlib
+ * <type>XID</type>.
+ *
+ * Return value: the #GdkWindow wrapper for the native window,
+ *    or %NULL if there is none.
+ **/
+GdkPixmap*
+gdk_pixmap_lookup (GdkNativeWindow anid)
+{
+  return (GdkPixmap*) gdk_xid_table_lookup (xid);
+}
index 94a54a4ecce99cadec45ca48ddd855e58cffc9b0..5ac6d7b60f9c625da3286edbe96f55c85e9b1190 100644 (file)
@@ -628,12 +628,16 @@ gdk_window_new (GdkWindow     *parent,
 
 /**
  * gdk_window_foreign_new:
- * @anid: an Xlib window ID
+ * @anid: a native window handle.
  * 
- * Wraps an X window ID (from Xlib) with a #GdkWindow.
- * May fail if the window has been destroyed, if so returns %NULL.
+ * Wraps a native window in a #GdkWindow.
+ * This may fail if the window has been destroyed.
+ *
+ * For example in the X backend, a native window handle is an Xlib
+ * <type>XID</type>.
  * 
- * Return value: the #GdkWindow wrapper for the X window
+ * Return value: the newly-created #GdkWindow wrapper for the 
+ *    native window or %NULL if the window has been destroyed.
  **/
 GdkWindow *
 gdk_window_foreign_new (GdkNativeWindow anid)
@@ -702,6 +706,24 @@ gdk_window_foreign_new (GdkNativeWindow anid)
   return window;
 }
 
+/**
+ * gdk_window_lookup:
+ * @anid: a native window handle.
+ *
+ * Looks up the #GdkWindow that wraps the given native window handle. 
+ *
+ * For example in the X backend, a native window handle is an Xlib
+ * <type>XID</type>.
+ *
+ * Return value: the #GdkWindow wrapper for the native window, 
+ *    or %NULL if there is none.
+ **/
+GdkWindow *
+gdk_window_lookup (GdkNativeWindow anid)
+{
+  return (GdkWindow*) gdk_xid_table_lookup (anid);
+}
+
 void
 _gdk_windowing_window_destroy (GdkWindow *window,
                               gboolean   recursing,
index 2f2dc16483a3fd695e5270744d04053906c0ff67..9e68a85e002a95c50cae5791f2b3c3d470129ec3 100644 (file)
@@ -100,10 +100,6 @@ GdkVisual*   gdkx_visual_get   (VisualID xvisualid);
  *      is useless unless we also have the visual. */
 GdkColormap* gdkx_colormap_get (Colormap xcolormap);
 
-/* Functions to create pixmaps and windows from their X equivalents */
-GdkPixmap    *gdk_pixmap_foreign_new (GdkNativeWindow anid);
-GdkWindow    *gdk_window_foreign_new (GdkNativeWindow anid);
-
 /* Return the Gdk* for a particular XID */
 gpointer      gdk_xid_table_lookup     (XID              xid);
 
@@ -116,9 +112,6 @@ void          gdk_x11_ungrab_server    (void);
 /* returns TRUE if we support the given WM spec feature */
 gboolean      gdk_net_wm_supports      (GdkAtom property);
 
-#define gdk_window_lookup(xid)    ((GdkWindow*) gdk_xid_table_lookup (xid))
-#define gdk_pixmap_lookup(xid)    ((GdkPixmap*) gdk_xid_table_lookup (xid))
-
 #ifndef GDK_DISABLE_DEPRECATED
 
 Display *            gdk_x11_font_get_xdisplay (GdkFont *font);
index 59755285c414e9092f6f8148cb8deda427c414da..5b7d391607d3d94e66fc3563525d51727a77a877 100644 (file)
 #include <string.h>
 #include "gdk.h"
 
-#if defined (GDK_WINDOWING_X11)
-#include "x11/gdkx.h"          /* For gdk_window_lookup() */
-#elif defined (GDK_WINDOWING_WIN32)
-#include "win32/gdkwin32.h"    /* For gdk_window_lookup() */
-#elif defined (GDK_WINDOWING_FB)
-#include "linux-fb/gdkfb.h"    /* For gdk_window_lookup() */
-#endif
-
 #include "gtkmain.h"
 #include "gtkselection.h"
 #include "gtksignal.h"
@@ -979,14 +971,9 @@ gtk_selection_request (GtkWidget *widget,
   info->num_incrs = 0;
   
   /* Create GdkWindow structure for the requestor */
-  
-#if defined(GDK_WINDOWING_WIN32) || defined(GDK_WINDOWING_X11) || defined(GDK_WINDOWING_FB) 
   info->requestor = gdk_window_lookup (event->requestor);
   if (!info->requestor)
     info->requestor = gdk_window_foreign_new (event->requestor);
-#else
-  info->requestor = NULL;
-#endif
   
   /* Determine conversions we need to perform */